﻿using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Net;
//using System.Runtime.Serialization.Json;
using Microsoft.Live;
using Microsoft.Live.Controls;
using Microsoft.Phone.Shell;
using System.IO.IsolatedStorage;
using System.Windows;
using Microsoft.Phone.Controls;
using System.Windows.Controls;
using System.Windows.Navigation;
using System.Windows.Media;
using System.Windows.Media.Imaging;



namespace VokabeltrainerPhone
{
    public enum Status
    {
        Warten,
        Einloggen,
        CloudLaden,
        CloudLadenFertig,
        CloudSpeichern,
        CloudSpeichernFertig,
        MusikBilderLaden,
        StartBild,
        Laden,
        Speichern,
        FrageStellen,
        Abfrage,
        RichtigFalsch, 
        Hinzufuegen,
        Durchblaettern,
        NachtraeglichContentLaden,
    }
    public partial class MainPage : PhoneApplicationPage
    {        
        LiveConnectClient client;
        LiveConnectClient fileClient;
        LiveConnectClient contentClient;
        LiveConnectClient SpeichernSession;

        IsolatedStorageFileStream isoFileStream;

        LiveOperationCompletedEventArgs Nochmal;

        VokabelStruct vokabelItem = new VokabelStruct();
        List<VokabelStruct> VokabelListe = new List<VokabelStruct>();
        List<VokabelStruct> Vokabeln = new List<VokabelStruct>();
        List<VokabelStruct> AntwortMoeglichkeitenDeutschListe = new List<VokabelStruct>();
        List<VokabelStruct> AntwortMoeglichkeitenRomajiListe = new List<VokabelStruct>();
        List<VokabelStruct> AntwortMoeglichkeitenHiraganaListe = new List<VokabelStruct>();
        List<VokabelStruct> AntwortMoeglichkeitenKataganaListe = new List<VokabelStruct>();
        List<VokabelStruct> AntwortMoeglichkeitenAndereListe = new List<VokabelStruct>();
        List<VokabelStruct> AntwortMoeglichkeitenDeutschTextListe = new List<VokabelStruct>();
        List<VokabelStruct> AntwortMoeglichkeitenAndereTextListe = new List<VokabelStruct>();
        List<VokabelStruct> FragenListe = new List<VokabelStruct>();
        List<VokabelStruct> RichtigListe = new List<VokabelStruct>();
        List<VokabelStruct> FalschListe = new List<VokabelStruct>();
        Random r = new Random();
        Status status = Status.Warten;
        List<string> zuLadendeBilder = new List<string>();
        List<string> zuLadendeSounds = new List<string>();
        BitmapImage richtigBild = new BitmapImage(new Uri("Richtig.png", UriKind.Relative));
        BitmapImage falschBild = new BitmapImage(new Uri("Falsch.png", UriKind.Relative));
        BitmapImage fueller = new BitmapImage(new Uri("Lueckenfueller.png", UriKind.Relative)); 
        
        object NochmalSender;
        string bilderId;
        string soundId;
        string bilderOrdnerId;
        string soundOrdnerId;
        string datenOrdnerId;
        bool musikBilderEventBool;
        bool selberAntworten;
        bool richtigeAntwort;
        int anzahl;
        int a;
        int RichtigeAntwort;
        int zufall;
        int nochZuLaden;
        int zuLadenAnzahl;


        public MainPage()
        {
            InitializeComponent();
            using (IsolatedStorageFile isf =
                IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (!isf.FileExists("Vokabeln.txt"))
                {
                    status = Status.CloudLaden;
                    Update();
                }
                else
                {
                    status = Status.Laden;
                    Update();
                }
                textBlock20.Text = "Es müssen min. Frage, Antwort und Kategorie \nausgefüllt werden.";
                if (!isf.FileExists("e.bin"))
                    EinstellungenLaden();
            }
            hilfGrid1.Visibility = System.Windows.Visibility.Collapsed;
            scrollViewer1.Visibility = System.Windows.Visibility.Collapsed;
            textBlock1.Text = "Es sind Vokabeln auf dem Handy vorhanden, diese \nkönnen geladen werden. Wenn sie die PC Version \nnutzen und die Vokabeln in SkyDrive Aktueller \nsind wird Empfohlen die Vokabeln aus der Cloud \nzu laden.";
            
            artDerAntwort.Items.Add("Romaji");
            artDerAntwort.Items.Add("Hiragana");
            artDerAntwort.Items.Add("Katagana");
            artDerAntwort.Items.Add("Wort in Eigenersprache");
            artDerAntwort.Items.Add("Wort in Fremdsprache");
            artDerAntwort.Items.Add("Text in Eigenersprache");
            artDerAntwort.Items.Add("Text in Fremdsprache");

            textBox1.LostFocus += new RoutedEventHandler(FocusAufTextBox3);
            textBox3.LostFocus += new RoutedEventHandler(FocusAufTextBox4);
            textBox5.LostFocus += new RoutedEventHandler(FocusAufTextBox6);

            PhoneApplicationService.Current.Activated += new EventHandler<ActivatedEventArgs>(AppAktivieren);
            PhoneApplicationService.Current.Closing += new EventHandler<ClosingEventArgs>(AppSchliessen);
            PhoneApplicationService.Current.Deactivated += new EventHandler<DeactivatedEventArgs>(AppDeaktivieren);
        }

        void FocusAufTextBox3(object sender, RoutedEventArgs e)
        {
            textBox3.Focus();
        }
        void FocusAufTextBox4(object sender, RoutedEventArgs e)
        {
            textBox4.Focus();
        }
        void FocusAufTextBox6(object sender, RoutedEventArgs e)
        {
            textBox6.Focus();
        }

        void AppAktivieren(object sender, ActivatedEventArgs e)
        {
            using (IsolatedStorageFile isf =
                IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (!isf.FileExists("Vokabeln.txt"))
                {
                    status = Status.CloudLaden;
                    Update();
                }
                else
                {
                    status = Status.Laden;
                    Update();
                }
            }
        }

        void AppDeaktivieren(object sender, DeactivatedEventArgs e)
        {
            if (FragenListe.Count > 0 || VokabelListe.Count > 0)
                Speichern();
        }

        void AppSchliessen(object sender, ClosingEventArgs e)
        {
            if (FragenListe.Count > 0 || VokabelListe.Count > 0)
                Speichern();
        }

        protected override void OnBackKeyPress(CancelEventArgs e)
        {
            base.OnBackKeyPress(e);
        }
        #region SkyDrive zeugs

        private void signInButton1_SessionChanged(object sender, LiveConnectSessionChangedEventArgs e)
        {
            if (e.Status == LiveConnectSessionStatus.Connected)
            {
                client = new LiveConnectClient(e.Session);
                contentClient = new LiveConnectClient(e.Session);
                fileClient = new LiveConnectClient(e.Session);
                SpeichernSession = new LiveConnectClient(e.Session);
                App.Current.LiveSession = e.Session;
                fehlerText.Text = "Einen Moment Bitte!";

                client.GetCompleted += new EventHandler<LiveOperationCompletedEventArgs>(OrdnerSuche);
                client.GetAsync("me/skydrive/files");
            }
            else
            {
                this.fehlerText.Text = "Not signed in.";
                client = null;
            }
        }

        private void signInButton2_SessionChanged(object sender, LiveConnectSessionChangedEventArgs e)
        {
            if (e.Status == LiveConnectSessionStatus.Connected)
            {
                client = new LiveConnectClient(e.Session);
                contentClient = new LiveConnectClient(e.Session);
                SpeichernSession = new LiveConnectClient(e.Session);
                App.Current.LiveSession = e.Session;
                fehlerText.Text = "Einen Moment Bitte!";

                CloudSpeichern();
            }
            else
            {
                this.fehlerText.Text = "Not signed in.";
                client = null;
            }
        }
        
        private void signInButton3_SessionChanged(object sender, LiveConnectSessionChangedEventArgs e)
        {
            if (e.Status == LiveConnectSessionStatus.Connected)
            {
                client = new LiveConnectClient(e.Session);
                contentClient = new LiveConnectClient(e.Session);
                fileClient = new LiveConnectClient(e.Session);
                SpeichernSession = new LiveConnectClient(e.Session);
                App.Current.LiveSession = e.Session;
                musikBilderLadeFehler.Text = "Einen Moment Bitte!";

                AnzeigeLaden();

                client.GetAsync("me/skydrive/files");
                client.GetCompleted += new EventHandler<LiveOperationCompletedEventArgs>(OrdnerSuche);
            }
            else
            {
                this.musikBilderLadeFehler.Text = "Sie müssen sich erst Anmelden";
                client = null;
            }
        }

        private void button16_Click(object sender, RoutedEventArgs e)
        {
            CloudSpeichern();
        }

        public void MusikBilderVonSkyDriveLaden()
        {
            if (zuLadendeBilder.Count > 0)
                contentClient.GetAsync(bilderOrdnerId + "/files");
            else if (zuLadendeSounds.Count > 0)
                contentClient.GetAsync(soundOrdnerId + "/files");
            if(!musikBilderEventBool)
                contentClient.GetCompleted += new EventHandler<LiveOperationCompletedEventArgs>(MusikBilder_Download);
        }

        void MusikBilder_Download(object sender, LiveOperationCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
                this.ContentPanel.Visibility = System.Windows.Visibility.Visible;
                this.PageTitle.Visibility = System.Windows.Visibility.Visible;
                this.ladenGrit.Visibility = System.Windows.Visibility.Collapsed;
                this.label1.Text = "Error reading SkyDrive root folder: " + e.Error.ToString();
                return;
            }
            else
            {
                // Ohne die folgenden beiden Events kommen nur fehler
                NochmalSender = sender;
                Nochmal = e;

                List<object> entries;
                Dictionary<string, object> properties;
                entries = (List<object>)e.Result["data"];
                foreach (object entry in entries)
                {
                    // Auswertung der in dem SkyDrive-ordner befindlichen Dateien
                    if (zuLadendeBilder.Count > 0)
                    {
                        properties = (Dictionary<string, object>)entry;
                        if ((((string)properties["name"]) == zuLadendeBilder[0]) && (((string)properties["type"]) == "photo"))
                        {
                            bilderId = ((string)properties["id"]);
                            contentClient.DownloadAsync(bilderId + "/content");
                            if (!musikBilderEventBool)
                            {
                                contentClient.DownloadCompleted += new EventHandler<LiveDownloadCompletedEventArgs>(MusikBilder_DownloadKomplett);
                                musikBilderEventBool = true;
                            }
                            return;
                        }
                    }
                    else
                    {
                        for (int i = 0; i < zuLadendeSounds.Count; i++)
                        {
                            properties = (Dictionary<string, object>)entry;
                            if ((((string)properties["name"]) == zuLadendeSounds[0]) && (((string)properties["type"]) == "audio"))
                            {
                                soundId = ((string)properties["id"]);
                                contentClient.DownloadAsync(soundId + "/content");
                                if (!musikBilderEventBool)
                                {
                                    contentClient.DownloadCompleted += new EventHandler<LiveDownloadCompletedEventArgs>(MusikBilder_DownloadKomplett);
                                    musikBilderEventBool = true;
                                }
                                return;
                            }
                        }
                    }
                }
                this.label6.Text += "File not found in SkyDrive.";
            }
        }

        private void MusikBilder_DownloadKomplett(object sender, LiveDownloadCompletedEventArgs e)
        {
            if (zuLadendeBilder.Count > 0)
            {
                using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
                {
                    BitmapImage bmp = new BitmapImage();
                    bmp.SetSource(e.Result);
                    WriteableBitmap bmImage = new WriteableBitmap(bmp);

                    using (IsolatedStorageFileStream isoStream =
                    store.OpenFile(zuLadendeBilder[0], FileMode.OpenOrCreate))
                    {
                        Extensions.SaveJpeg(
                        bmImage,
                        isoStream,
                        bmImage.PixelWidth,
                        bmImage.PixelHeight,
                        0,
                        100);
                        nochZuLaden--;
                        zuLadendeBilder.Remove(zuLadendeBilder[0]);
                    }
                }
            }
            else
            {
                try
                {
                    using (var isfs = new IsolatedStorageFileStream(zuLadendeSounds[0],
                                                        FileMode.CreateNew,
                                                        IsolatedStorageFile.GetUserStoreForApplication()))
                    {
                        long fileLen = e.Result.Length;
                        byte[] b = new byte[fileLen];
                        e.Result.Read(b, 0, b.Length);
                        isfs.Write(b, 0, b.Length);
                        isfs.Flush();
                        nochZuLaden--;
                        zuLadendeSounds.Remove(zuLadendeSounds[0]);
                    }
                }
                catch
                {
                    textBlock1.Text = "Fehler: " + e.Error;
                }
                
            }
            if (nochZuLaden > 0)
            {
                MusikBilder_Download(NochmalSender, Nochmal);
                textBlock2.Text = "Noch zu Laden... " + nochZuLaden.ToString();
            }
            else
            {
                status = Status.FrageStellen;
                textBlock2.Text = "Laden...";
                Update();
            }
        }

        string fileID = "";

        void OrdnerSuche(object sender, LiveOperationCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
                this.ContentPanel.Visibility = System.Windows.Visibility.Visible;
                this.PageTitle.Visibility = System.Windows.Visibility.Visible;
                this.ladenGrit.Visibility = System.Windows.Visibility.Collapsed;
                this.label1.Text = "Fehler beim Laden: " + e.Error.ToString();
                return;
            }
            else
            {
                List<object> entries;
                Dictionary<string, object> properties;
                entries = (List<object>)e.Result["data"];
                foreach (object entry in entries)
                {
                    properties = (Dictionary<string, object>)entry;
                    if ((((string)properties["name"]) == "Vokabeltrainerdaten") && (((string)properties["type"]) == "folder"))
                    {
                        datenOrdnerId = (string)properties["id"];
                        fileClient.GetAsync(datenOrdnerId + "/files");
                        fileClient.GetCompleted += new EventHandler<LiveOperationCompletedEventArgs>(OrdnerGefunden);
                        return;
                    }
                }
                Dictionary<string, object> folderData = new Dictionary<string, object>();
                folderData.Add("name", "Vokabeltrainerdaten");
                client.PostCompleted += new EventHandler<LiveOperationCompletedEventArgs>(OrdnerErstellt);
                client.PostAsync("me/skydrive", folderData);
            }
        }

        void OrdnerErstellt(object sender, LiveOperationCompletedEventArgs e)
        {
            client.GetAsync("me/skydrive/files");
        }

        void OrdnerGefunden(object sender, LiveOperationCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                List<object> entries;
                Dictionary<string, object> properties;
                entries = (List<object>)e.Result["data"];
                foreach (object entry in entries)
                {
                    properties = (Dictionary<string, object>)entry;
                    if (status != Status.StartBild)
                    {
                        if ((((string)properties["name"]) == "Vokabeln.txt") && (((string)properties["type"]) == "file"))
                        {
                            fileID = (string)properties["id"];
                            fileClient.DownloadAsync(fileID + "/content");
                            fileClient.DownloadCompleted += new EventHandler<LiveDownloadCompletedEventArgs>(CloudLaden);
                        }
                    }
                    if ((((string)properties["name"]) == "Bilder") && (((string)properties["type"]) == "folder"))
                    {
                        bilderOrdnerId = (string)properties["id"];
                    }
                    if ((((string)properties["name"]) == "Sounds") && (((string)properties["type"]) == "folder"))
                    {
                        soundOrdnerId = (string)properties["id"];
                    }
                }
                if ((bilderOrdnerId == "") || (soundOrdnerId == ""))
                {
                    Dictionary<string, object> folderData = new Dictionary<string, object>();
                    if (bilderOrdnerId == "")
                    {
                        folderData.Add("name", "Bilder");
                        client.PostAsync(datenOrdnerId, folderData);
                    }
                    if (soundOrdnerId == "")
                    {
                        folderData.Add("name", "Sounds");
                        client.PostAsync(datenOrdnerId, folderData);
                    }
                    if (status == Status.StartBild)
                        client.PostCompleted += new EventHandler<LiveOperationCompletedEventArgs>(MusikBilderOrdnerErstellt);
                }
                else
                    MusikBilderVonSkyDriveLaden();
                if (fileID == "")
                    this.fehlerText.Text = "Datei nicht gefunden";
                //  return;
            }
            else
                fehlerText.Text = "Fehler: " + e.Error;
        }

        void MusikBilderOrdnerErstellt(object sender, LiveOperationCompletedEventArgs e)
        {
            contentClient.GetAsync(datenOrdnerId + "/files");
            contentClient.GetCompleted += new EventHandler<LiveOperationCompletedEventArgs>(MusikBilderOrderIDSuchen);
        }

        void MusikBilderOrderIDSuchen(object sender, LiveOperationCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                List<object> entries;
                Dictionary<string, object> properties;
                entries = (List<object>)e.Result["data"];
                foreach (object entry in entries)
                {
                    properties = (Dictionary<string, object>)entry;
                    if ((((string)properties["name"]) == "Bilder") && (((string)properties["type"]) == "folder"))
                    {
                        bilderOrdnerId = (string)properties["id"];
                    }
                    if ((((string)properties["name"]) == "Sounds") && (((string)properties["type"]) == "folder"))
                    {
                        soundOrdnerId = (string)properties["id"];
                    }
                }
                if ((bilderOrdnerId != "") || (soundOrdnerId != ""))
                    MusikBilderVonSkyDriveLaden();
                else
                    musikBilderLadeFehler.Text = "Ordner nicht gefunden";
            }
            else
                fehlerText.Text = "Fehler: " + e.Error;
        }

        private void CloudLaden(object sender,LiveDownloadCompletedEventArgs e)
        {
            string line = "";
            StreamReader sr = new StreamReader(e.Result);

            while (!sr.EndOfStream)
            {
                line = sr.ReadLine();

                vokabelItem.Frage = line.Split(':')[0];
                vokabelItem.Antwort = line.Split(':')[1];
                vokabelItem.Zusatz = line.Split(':')[2];
                vokabelItem.Bild = line.Split(':')[3];
                vokabelItem.AbfrageTag = int.Parse(line.Split(':')[4]);
                vokabelItem.Phase = int.Parse(line.Split(':')[5]);
                vokabelItem.JapZeichenInFrage = bool.Parse(line.Split(':')[6]);
                vokabelItem.JapZeichenInAntwort = bool.Parse(line.Split(':')[7]);
                vokabelItem.ArtDerAntwort = (AntwortArt)Enum.Parse(typeof(AntwortArt), line.Split(':')[8], false);
                vokabelItem.Sound = line.Split(':')[9];
                vokabelItem.Anweisung = line.Split(':')[10];
                anzahl++;
                VokabelListe.Add(vokabelItem);
                Vokabeln.Add(vokabelItem);
            }
            sr.Close();
            ZuLadendeDateienErmitteln();
        }

        private void EinstellungenLaden()
        {
             string line = "";
            using (IsolatedStorageFile isf =
                IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (isf.FileExists("e.bin"))
                {
                    isoFileStream = isf.OpenFile("e.bin", FileMode.Open);
                    using (StreamReader sr = new StreamReader(isoFileStream))
                    {
                        line = sr.ReadLine();
                        checkBox4.IsChecked = bool.Parse(line);
                        sr.Dispose();
                    }
                    isoFileStream.Dispose();
                }
            }
        }

        private void EinstellungenSpeichern()
        {
            using (IsolatedStorageFile isf =
                IsolatedStorageFile.GetUserStoreForApplication())
            {
                string line = "";
                using (IsolatedStorageFileStream isfs = isf.CreateFile("e.bin"))
                {
                    using (StreamWriter writer = new StreamWriter(isfs))
                    {
                        line = checkBox4.IsChecked.ToString();
                        writer.WriteLine(line);
                        writer.Close();
                    }
                    isfs.Dispose();
                }
            }
        }
        
        private void Laden()
        {
            string line = "";
            using (IsolatedStorageFile isf =
                IsolatedStorageFile.GetUserStoreForApplication())
            {
                #region VokabelnLaden
                if (isf.FileExists("Vokabeln.txt"))
                {
                    isoFileStream = isf.OpenFile("Vokabeln.txt", FileMode.Open);
                    using (StreamReader sr = new StreamReader(isoFileStream))
                    {
                        while (!sr.EndOfStream)
                        {
                            line = sr.ReadLine();

                            vokabelItem.Frage = line.Split(':')[0];
                            vokabelItem.Antwort = line.Split(':')[1];
                            vokabelItem.Zusatz = line.Split(':')[2];
                            vokabelItem.Bild = line.Split(':')[3];
                            vokabelItem.AbfrageTag = int.Parse(line.Split(':')[4]);
                            vokabelItem.Phase = int.Parse(line.Split(':')[5]);
                            vokabelItem.JapZeichenInFrage = bool.Parse(line.Split(':')[6]);
                            vokabelItem.JapZeichenInAntwort = bool.Parse(line.Split(':')[7]);
                            vokabelItem.ArtDerAntwort = (AntwortArt)Enum.Parse(typeof(AntwortArt), line.Split(':')[8], false);
                            vokabelItem.Sound = line.Split(':')[9];
                            vokabelItem.Anweisung = line.Split(':')[10];
                            anzahl++;
                            VokabelListe.Add(vokabelItem);
                            Vokabeln.Add(vokabelItem);
                        }
                        sr.Dispose();
                    }
                    isoFileStream.Dispose();
                }
                #endregion
            }
        }

        private void Speichern()
        {
            using (IsolatedStorageFile isf =
                IsolatedStorageFile.GetUserStoreForApplication())
            {
                #region VokabelnSave
                string line = "";
                using (IsolatedStorageFileStream isfs = isf.CreateFile("Vokabeln.txt"))
                {
                    using (StreamWriter writer = new StreamWriter(isfs))
                    {
                        if (VokabelListe.Count > 0)
                        {
                            for (int i = 0; i < VokabelListe.Count; i++)
                            {
                                line = VokabelListe[i].Frage + ":" +
                                    VokabelListe[i].Antwort + ":" +
                                    VokabelListe[i].Zusatz + ":" +
                                    VokabelListe[i].Bild + ":" +
                                    VokabelListe[i].AbfrageTag.ToString() + ":" +
                                    VokabelListe[i].Phase.ToString() + ":" +
                                    VokabelListe[i].JapZeichenInFrage.ToString() + ":" +
                                    VokabelListe[i].JapZeichenInAntwort.ToString() + ":" +
                                    VokabelListe[i].ArtDerAntwort.ToString() + ":" +
                                    VokabelListe[i].Sound + ":" +
                                    VokabelListe[i].Anweisung;

                                writer.WriteLine(line);
                            }
                        }
                        if(FragenListe.Count>0)
                        {
                            for (int i = 0; i < FragenListe.Count; i++)
                            {
                                line = FragenListe[i].Frage + ":" +
                                    FragenListe[i].Antwort + ":" +
                                    FragenListe[i].Zusatz + ":" +
                                    FragenListe[i].Bild + ":" +
                                    FragenListe[i].AbfrageTag.ToString() + ":" +
                                    FragenListe[i].Phase.ToString() + ":" +
                                    FragenListe[i].JapZeichenInFrage.ToString() + ":" +
                                    FragenListe[i].JapZeichenInAntwort.ToString() + ":" +
                                    FragenListe[i].ArtDerAntwort.ToString() + ":" +
                                    FragenListe[i].Sound + ":" +
                                    FragenListe[i].Anweisung;

                                writer.WriteLine(line);
                            }
                        }

                        writer.Close();
                    }
                    isfs.Dispose();
                }
                #endregion
            }
            Update();
        }

        private void CloudSpeichern()
        {
            Speichern();
            if (client != null)
            {
                using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
                {
                    isoFileStream = isf.OpenFile("Vokabeln.txt", FileMode.Open, FileAccess.Read);
                    this.PageTitle.Visibility = System.Windows.Visibility.Collapsed;
                    this.ContentPanel.Visibility = System.Windows.Visibility.Collapsed;
                    this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
                    this.ladenGrit.Visibility = System.Windows.Visibility.Collapsed;
                    this.vokabelnLadeGrit.Visibility = System.Windows.Visibility.Collapsed;
                    this.musikBilderAusCloudGrit.Visibility = System.Windows.Visibility.Collapsed;
                    this.speicherProzessGrit.Visibility = System.Windows.Visibility.Visible;
                    this.startBildGrit.Visibility = System.Windows.Visibility.Collapsed;
                    this.pivot1.Visibility = System.Windows.Visibility.Collapsed;
                    this.hinzufuegenGrit.Visibility = System.Windows.Visibility.Collapsed;
                    this.vokabelnSpeichernGrit.Visibility = System.Windows.Visibility.Collapsed;
                    this.durchblaetternGrit.Visibility = System.Windows.Visibility.Collapsed;
                    SpeichernSession.GetAsync("me/skydrive/files");
                    SpeichernSession.GetCompleted += (g_s, g_eva) =>
                    {
                        if (g_eva.Error == null)
                        {
                            Dictionary<string, object> folderData = (Dictionary<string, object>)g_eva.Result;
                            List<object> folders = (List<object>)folderData["data"];

                            foreach (object item in folders)
                            {
                                Dictionary<string, object> folder = (Dictionary<string, object>)item;
                                if (folder["name"].ToString() == "Vokabeltrainerdaten")
                                    datenOrdnerId = folder["id"].ToString();
                            }

                            SpeichernSession.UploadAsync(datenOrdnerId, "Vokabeln.txt", true, isoFileStream, null);
                            SpeichernSession.UploadCompleted += new EventHandler<LiveOperationCompletedEventArgs>(CloudSpeichernAbgeschlossen);
                        }
                    };
                    return;
                }
            }
        }

        void CloudSpeichernAbgeschlossen(object sender, LiveOperationCompletedEventArgs e)
        {
            isoFileStream.Dispose();
            status = Status.StartBild;
            speicherProzessGrit.Visibility = System.Windows.Visibility.Collapsed;
            Update();
        }

        private void ZuLadendeDateienErmitteln()
        {
            zuLadenAnzahl = 0;
            using (IsolatedStorageFile isf =
                IsolatedStorageFile.GetUserStoreForApplication())
            {
                foreach (VokabelStruct v in Vokabeln)
                {
                    if (v.Bild != "")
                    {
                        if (!isf.FileExists(v.Bild))
                        {
                            zuLadendeBilder.Add(v.Bild);
                            zuLadenAnzahl++;
                        }
                    }
                    if (v.Sound != "")
                    {
                        if (!isf.FileExists(v.Sound + ".mp3"))
                        {
                            zuLadendeSounds.Add(v.Sound + ".mp3");
                            zuLadenAnzahl++;
                        }
                    }
                }
            }
            if (status == Status.CloudLaden)
            {
                status = Status.CloudLadenFertig;
                nochZuLaden = zuLadenAnzahl;
                textBlock2.Text = "Noch zu Laden... " + nochZuLaden.ToString();
                if (zuLadenAnzahl == 0)
                    status = Status.StartBild;
                Update();
            }
            if (client != null)
            { button8.Visibility = System.Windows.Visibility.Visible; signInButton3.Visibility = System.Windows.Visibility.Collapsed; this.musikBilderLadeFehler.Text = ""; }
            else
            { signInButton3.Visibility = System.Windows.Visibility.Visible; button8.Visibility = System.Windows.Visibility.Collapsed; this.musikBilderLadeFehler.Text = "Sie müssen sich erst Anmelden"; }
            
        }
        #endregion

        #region Was angezeigt werden soll
        private void AnzeigeEinloggen()
        {
            this.PageTitle.Visibility = System.Windows.Visibility.Visible;
            this.ContentPanel.Visibility = System.Windows.Visibility.Visible;
            this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.ladenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnLadeGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.musikBilderAusCloudGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.speicherProzessGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.startBildGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.pivot1.Visibility = System.Windows.Visibility.Collapsed;
            this.hinzufuegenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnSpeichernGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.durchblaetternGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.button21.Visibility = System.Windows.Visibility.Collapsed;
        }

        private void AnzeigeMusikBilder()
        {
            this.PageTitle.Visibility = System.Windows.Visibility.Collapsed;
            this.ContentPanel.Visibility = System.Windows.Visibility.Collapsed;
            this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.ladenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnLadeGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.musikBilderAusCloudGrit.Visibility = System.Windows.Visibility.Visible;
            this.speicherProzessGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.startBildGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.pivot1.Visibility = System.Windows.Visibility.Collapsed;
            this.hinzufuegenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnSpeichernGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.durchblaetternGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.button21.Visibility = System.Windows.Visibility.Collapsed;
        }

        private void AnzeigeSpeichern()
        {
            this.PageTitle.Visibility = System.Windows.Visibility.Collapsed;
            this.ContentPanel.Visibility = System.Windows.Visibility.Collapsed;
            this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.ladenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnLadeGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.musikBilderAusCloudGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.speicherProzessGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.startBildGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.pivot1.Visibility = System.Windows.Visibility.Collapsed;
            this.hinzufuegenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnSpeichernGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.durchblaetternGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.button21.Visibility = System.Windows.Visibility.Collapsed;
        }

        private void AnzeigeLaden()
        {
            this.PageTitle.Visibility = System.Windows.Visibility.Collapsed;
            this.ContentPanel.Visibility = System.Windows.Visibility.Collapsed;
            this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.ladenGrit.Visibility = System.Windows.Visibility.Visible;
            this.vokabelnLadeGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.musikBilderAusCloudGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.speicherProzessGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.startBildGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.pivot1.Visibility = System.Windows.Visibility.Collapsed;
            this.hinzufuegenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnSpeichernGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.durchblaetternGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.button21.Visibility = System.Windows.Visibility.Collapsed;
        }

        private void AnzeigeVokabelnLaden()
        {
            this.PageTitle.Visibility = System.Windows.Visibility.Collapsed;
            this.ContentPanel.Visibility = System.Windows.Visibility.Collapsed;
            this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.ladenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnLadeGrit.Visibility = System.Windows.Visibility.Visible;
            this.musikBilderAusCloudGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.speicherProzessGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.startBildGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.pivot1.Visibility = System.Windows.Visibility.Collapsed;
            this.hinzufuegenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnSpeichernGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.durchblaetternGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.button21.Visibility = System.Windows.Visibility.Collapsed;
        }

        private void AnzeigeDurchblaettern()
        {
            this.PageTitle.Visibility = System.Windows.Visibility.Collapsed;
            this.ContentPanel.Visibility = System.Windows.Visibility.Collapsed;
            this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.ladenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnLadeGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.musikBilderAusCloudGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.speicherProzessGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.startBildGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.pivot1.Visibility = System.Windows.Visibility.Collapsed;
            this.hinzufuegenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnSpeichernGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.durchblaetternGrit.Visibility = System.Windows.Visibility.Visible;
            this.button21.Visibility = System.Windows.Visibility.Collapsed;
        }
      
        private void AnzeigeVokabelnSpeichern()
        {
            this.PageTitle.Visibility = System.Windows.Visibility.Collapsed;
            this.ContentPanel.Visibility = System.Windows.Visibility.Collapsed;
            this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.ladenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnLadeGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.musikBilderAusCloudGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.speicherProzessGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.startBildGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.pivot1.Visibility = System.Windows.Visibility.Collapsed;
            this.hinzufuegenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnSpeichernGrit.Visibility = System.Windows.Visibility.Visible;
            this.durchblaetternGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.button21.Visibility = System.Windows.Visibility.Collapsed;
            textBlock16.Text = "Es wird Empfohlen in SkyDrive(fals vorhanden)\nzu speichern, es dient als Sicherheitskopie,\nund kann in der PC Version Verwendet werden.";
            if (client != null)
            {
                button16.Visibility = System.Windows.Visibility.Visible;
                signInButton2.Visibility = System.Windows.Visibility.Collapsed;
            }
            else
            {
                textBlock16.Text += "\nUm in der Cloud zu speichern müssen sie sich\nerst einloggen.";
                signInButton2.Visibility = System.Windows.Visibility.Visible;
                button16.Visibility = System.Windows.Visibility.Collapsed;
            }
        }

        private void AnzeigeAbfragen()
        {
            this.PageTitle.Visibility = System.Windows.Visibility.Collapsed;
            this.ContentPanel.Visibility = System.Windows.Visibility.Collapsed;
            this.abfrageGrit.Visibility = System.Windows.Visibility.Visible;
            this.ladenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnLadeGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.musikBilderAusCloudGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.speicherProzessGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.startBildGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.pivot1.Visibility = System.Windows.Visibility.Collapsed;
            this.hinzufuegenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.durchblaetternGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.button21.Visibility = System.Windows.Visibility.Visible;
        }

        private void AnzeigeStartBild()
        {
            this.PageTitle.Visibility = System.Windows.Visibility.Collapsed;
            this.ContentPanel.Visibility = System.Windows.Visibility.Collapsed;
            this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.ladenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnLadeGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.musikBilderAusCloudGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.speicherProzessGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.startBildGrit.Visibility = System.Windows.Visibility.Visible;
            this.pivot1.Visibility = System.Windows.Visibility.Collapsed;
            this.hinzufuegenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.durchblaetternGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.button21.Visibility = System.Windows.Visibility.Collapsed;
        }

        private void AnzeigeHinzufuegen()
        {
            this.PageTitle.Visibility = System.Windows.Visibility.Collapsed;
            this.ContentPanel.Visibility = System.Windows.Visibility.Collapsed;
            this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.ladenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnLadeGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.musikBilderAusCloudGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.speicherProzessGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.startBildGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.pivot1.Visibility = System.Windows.Visibility.Visible;
            this.hinzufuegenGrit.Visibility = System.Windows.Visibility.Visible;
            this.durchblaetternGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.button21.Visibility = System.Windows.Visibility.Visible;
        }
        #endregion

        private void Update()
        {

            switch (status)
            {
                case Status.Einloggen:
                    AnzeigeEinloggen();
                    break;
                case Status.CloudLaden:
                    AnzeigeEinloggen();
                    textBlock3.Text = "Sie haben die möglichkeit Vokabeln die in der Cloud\ngespeichert sind zu Laden, oder Neue Vokabeln \nüber das Handy einzugeben.";
                    break;
                case Status.CloudLadenFertig:
                    if (FragenListe.Count == 0)
                        FragenListeFuellen();
                    if ((zuLadendeBilder.Count > 0) || (zuLadendeSounds.Count > 0))
                    {
                        AnzeigeMusikBilder();

                        textBlock6.Text = "Wenn sie Bilder und Sounds nutzen möchten fügen \nSie folgende Dateien in den SkyDrive Ordner ein.\nBilder:";
                        textBlock7.Text = "Sounds:";
                        if (zuLadendeBilder.Count > 0)
                        {
                            for (int i = 0; i < zuLadendeBilder.Count; i++)
                                bilderNamenBox1.Items.Add(zuLadendeBilder[i]);
                        }
                        if (zuLadendeSounds.Count > 0)
                        {
                            for (int i = 0; i < zuLadendeSounds.Count; i++)
                                musikNamenBox2.Items.Add(zuLadendeSounds[i]);
                        }
                    }
                    else
                        status = Status.StartBild;
                    break;
                case Status.StartBild:
                    ZuLadendeDateienErmitteln();
                    AnzeigeStartBild();
                    if (client != null)
                    {
                        button1.Visibility = System.Windows.Visibility.Visible;
                        signInButton4.Visibility = System.Windows.Visibility.Collapsed;
                        textBlock4.Visibility = System.Windows.Visibility.Collapsed;
                    }
                    else
                    {
                        button1.Visibility = System.Windows.Visibility.Collapsed;
                        signInButton4.Visibility = System.Windows.Visibility.Visible;
                        textBlock4.Visibility = System.Windows.Visibility.Visible;
                    }
                    if (zuLadenAnzahl != 0)
                    {
                        textBlock17.Text = "Es sind keine bzw. nicht alle Bilder und/oder\nSound vorhanden. Um Sounds und Bilder zu Laden\nwird W-Lan Empfohlen da sonst Entgeld für\ndas Downloaden anfallen kann.";
                        button7.Visibility = System.Windows.Visibility.Visible;
                        textBlock17.Visibility = System.Windows.Visibility.Visible;
                    }
                    else
                    {
                        button7.Visibility = System.Windows.Visibility.Collapsed;
                        textBlock17.Visibility = System.Windows.Visibility.Collapsed;
                    }
                    if (FragenListe.Count > 0)
                    {
                        textBlock9.Text = "Sie haben die möglichkeit die bereits bestehenden\nVokabeln abzufragen, oder neue Vokabeln hinzufügen.";
                        button11.Content = "Abfragen";
                    }
                    else
                    {
                        textBlock9.Text = "Sie haben die möglichkeit alle Vokabeln wieder\ndurch zu sehen, oder neue Vokabeln\nhinzufügen.";
                        button11.Content = "Durchsehen";
                    }
                    break;
                case Status.Laden:
                    AnzeigeVokabelnLaden();
                    break;
                case Status.Speichern:
                    AnzeigeVokabelnSpeichern();
                    break;
                case Status.MusikBilderLaden:
                    AnzeigeLaden();
                    MusikBilderVonSkyDriveLaden();
                    break;
                case Status.FrageStellen:
                    this.button3.Visibility = System.Windows.Visibility.Visible;
                    this.antwort.Visibility = System.Windows.Visibility.Visible;
                    if (FragenListe.Count == 0)
                        FragenListeFuellen();
                    else
                        NaechsteFrage();
                    break;
                case Status.Abfrage:
                    AnzeigeAbfragen();
                    if (selberAntworten) { antwort.Visibility = System.Windows.Visibility.Visible; label2.Visibility = System.Windows.Visibility.Visible; }
                    else { antwort.Visibility = System.Windows.Visibility.Collapsed; label2.Visibility = System.Windows.Visibility.Collapsed; }
                    break;
                case Status.Hinzufuegen:
                    AnzeigeHinzufuegen();
                    break;
                case Status.RichtigFalsch:
                    AnzeigeAbfragen();
                    this.button3.Visibility = System.Windows.Visibility.Collapsed;
                    this.antwort.Visibility = System.Windows.Visibility.Visible;
                    this.speicherProzessGrit.Visibility = System.Windows.Visibility.Collapsed;
                    weiter.Content = "Weiter";
                    if (richtigeAntwort)
                    {
                        pictureBox1.Source = richtigBild;
                        antwort.Text = FragenListe[a].Antwort;
                    }
                    else
                    {
                        pictureBox1.Source = falschBild;
                        antwort.Text = FragenListe[a].Antwort;
                    }
                    break;
                case Status.Durchblaettern:
                    AnzeigeDurchblaettern();
                    durchblaetterntextBox2.Text = VokabelListe[frageNummer].Anweisung;
                    durchblaetternfrage.Text = VokabelListe[frageNummer].Frage;
                    durchblaetternantwort.Text = VokabelListe[frageNummer].Antwort;
                    durchblaetterntextBoxZusatz.Text = VokabelListe[frageNummer].Zusatz;
                    if (VokabelListe[frageNummer].Bild != "") { durchblaetternpictureBox1.Source = GespeicherteBilder(VokabelListe[frageNummer].Bild.Split('.')[0] + ".jpg"); }
                    else { durchblaetternpictureBox1.Visibility = System.Windows.Visibility.Collapsed; }
                    if (VokabelListe[frageNummer].Sound != "") Mp3Abspielen(VokabelListe[frageNummer].Sound);
                    break;
            }
        }

        private void Mp3Abspielen(string sound)
        {
            using (var isf = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (isf.FileExists(sound + ".mp3"))
                {
                    button3.Visibility = System.Windows.Visibility.Visible;
                    using (var isoStream = isf.OpenFile(sound + ".mp3", FileMode.Open, FileAccess.Read))
                    {
                        mediaElement1.Stop();
                        mediaElement1.SetSource(isoStream);

                        mediaElement1.Position = System.TimeSpan.FromSeconds(0);
                        mediaElement1.Volume = 20;
                        mediaElement1.Play();
                    }
                }
                else
                {
                    button3.Visibility = System.Windows.Visibility.Collapsed;
                    durchblaetternbutton3.Visibility = System.Windows.Visibility.Collapsed;
                }
            }
        }

        private BitmapImage GespeicherteBilder(string bildName)
        {

            BitmapImage image;
            using (IsolatedStorageFile store =
            IsolatedStorageFile.GetUserStoreForApplication())
            {
                using (IsolatedStorageFileStream isoStream =
                store.OpenFile(bildName, FileMode.Open))
                {
                    image = new BitmapImage();
                    image.SetSource(isoStream);
                }
            }
            return image;
        }

        private void FragenListeFuellen()
        {
            for (int i = 0; i < VokabelListe.Count; i++)
            {
                switch (VokabelListe[i].ArtDerAntwort)
                {
                    case AntwortArt.Deutsch: AntwortMoeglichkeitenDeutschListe.Add(VokabelListe[i]); break;
                    case AntwortArt.Romaji: AntwortMoeglichkeitenRomajiListe.Add(VokabelListe[i]); break;
                    case AntwortArt.Hiragana: AntwortMoeglichkeitenHiraganaListe.Add(VokabelListe[i]); break;
                    case AntwortArt.Katagana: AntwortMoeglichkeitenKataganaListe.Add(VokabelListe[i]); break;
                    case AntwortArt.AndereSprache: AntwortMoeglichkeitenAndereListe.Add(VokabelListe[i]); break;
                    case AntwortArt.DeutscherText: AntwortMoeglichkeitenDeutschTextListe.Add(VokabelListe[i]); break;
                    case AntwortArt.AndereSpracheText: AntwortMoeglichkeitenAndereTextListe.Add(VokabelListe[i]); break;
                }
                if (VokabelListe[i].AbfrageTag < dateTimePicker1.Value.Value.DayOfYear)
                {
                    FragenListe.Add(VokabelListe[i]);
                    VokabelListe.Remove(VokabelListe[i]);
                    i--;
                }
            }
        }

        private void DropDownBefuellen()
        {
            AntwortMoeglichkeitenDeutschListe.Clear();
            AntwortMoeglichkeitenRomajiListe.Clear();
            AntwortMoeglichkeitenHiraganaListe.Clear();
            AntwortMoeglichkeitenKataganaListe.Clear();
            AntwortMoeglichkeitenAndereListe.Clear();
            AntwortMoeglichkeitenDeutschTextListe.Clear();
            AntwortMoeglichkeitenAndereTextListe.Clear();
            foreach (VokabelStruct v in Vokabeln)
            {
                switch (v.ArtDerAntwort)
                {
                    case AntwortArt.Deutsch: AntwortMoeglichkeitenDeutschListe.Add(v); break;
                    case AntwortArt.Romaji: AntwortMoeglichkeitenRomajiListe.Add(v); break;
                    case AntwortArt.Hiragana: AntwortMoeglichkeitenHiraganaListe.Add(v); break;
                    case AntwortArt.Katagana: AntwortMoeglichkeitenKataganaListe.Add(v); break;
                    case AntwortArt.AndereSprache: AntwortMoeglichkeitenAndereListe.Add(v); break;
                    case AntwortArt.DeutscherText: AntwortMoeglichkeitenDeutschTextListe.Add(v); break;
                    case AntwortArt.AndereSpracheText: AntwortMoeglichkeitenAndereTextListe.Add(v); break;
                }
            }
            antwortmoeglichkeiten.Items.Clear();
            #region Antwortmöglichkeiten
            switch (FragenListe[a].ArtDerAntwort)
            {
                case AntwortArt.Deutsch:

                    if (AntwortMoeglichkeitenDeutschListe.Count > 7)
                    {
                        for (int i = AntwortMoeglichkeitenDeutschListe.Count - 1; i > 0; i--)
                        {
                            if (AntwortMoeglichkeitenDeutschListe[i].Antwort == FragenListe[a].Antwort)
                                AntwortMoeglichkeitenDeutschListe.Remove(AntwortMoeglichkeitenDeutschListe[i]);
                        }
                        RichtigeAntwort = r.Next(1, 8);
                        for (int i = 0; i < 8; i++)
                        {
                            if (AntwortMoeglichkeitenDeutschListe.Count > 0)
                                zufall = r.Next(0, AntwortMoeglichkeitenDeutschListe.Count - 1);
                            if (i == RichtigeAntwort)
                                antwortmoeglichkeiten.Items.Add(FragenListe[a].Antwort);
                            else
                            {
                                if (AntwortMoeglichkeitenDeutschListe[zufall].Antwort != FragenListe[a].Antwort)
                                    antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenDeutschListe[zufall].Antwort);
                                else
                                    i--;
                            }
                            AntwortMoeglichkeitenDeutschListe.Remove(AntwortMoeglichkeitenDeutschListe[zufall]);
                        }
                    }
                    else
                    {
                        for (int i =  0; i < AntwortMoeglichkeitenDeutschListe.Count; i++)
                            antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenDeutschListe[i].Antwort);
                    }

                    break;
                case AntwortArt.Romaji:
                    if (AntwortMoeglichkeitenRomajiListe.Count > 7)
                    {
                        for (int i = AntwortMoeglichkeitenRomajiListe.Count - 1; i > 0; i--)
                        {
                            if (AntwortMoeglichkeitenRomajiListe[i].Antwort == FragenListe[a].Antwort)
                                AntwortMoeglichkeitenRomajiListe.Remove(AntwortMoeglichkeitenRomajiListe[i]);
                        }

                        RichtigeAntwort = r.Next(1, 8);
                        for (int i = 0; i < 8; i++)
                        {
                            if (AntwortMoeglichkeitenRomajiListe.Count > 0)
                                zufall = r.Next(0, AntwortMoeglichkeitenRomajiListe.Count - 1);
                            if (i == RichtigeAntwort)
                                antwortmoeglichkeiten.Items.Add(FragenListe[a].Antwort);
                            else
                            {
                                if (AntwortMoeglichkeitenRomajiListe[zufall].Antwort != FragenListe[a].Antwort)
                                    antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenRomajiListe[zufall].Antwort);
                                else
                                    i--;
                            }
                            AntwortMoeglichkeitenRomajiListe.Remove(AntwortMoeglichkeitenRomajiListe[zufall]);
                        }
                    }
                    else
                    {
                        for (int i = 0; i < AntwortMoeglichkeitenRomajiListe.Count; i++)
                            antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenRomajiListe[i].Antwort);
                    }

                    break;
                case AntwortArt.Hiragana:
                    if (AntwortMoeglichkeitenHiraganaListe.Count > 7)
                    {
                        for (int i = AntwortMoeglichkeitenHiraganaListe.Count - 1; i > 0; i--)
                        {
                            if (AntwortMoeglichkeitenHiraganaListe[i].Antwort == FragenListe[a].Antwort)
                                AntwortMoeglichkeitenHiraganaListe.Remove(AntwortMoeglichkeitenHiraganaListe[i]);
                        }

                        RichtigeAntwort = r.Next(1, 8);
                        for (int i = 0; i < 8; i++)
                        {
                            if (AntwortMoeglichkeitenHiraganaListe.Count > 0)
                                zufall = r.Next(0, AntwortMoeglichkeitenHiraganaListe.Count - 1);
                            if (i == RichtigeAntwort)
                                antwortmoeglichkeiten.Items.Add(FragenListe[a].Antwort);
                            else
                            {
                                if (AntwortMoeglichkeitenHiraganaListe[zufall].Antwort != FragenListe[a].Antwort)
                                    antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenHiraganaListe[zufall].Antwort);
                                else
                                    i--;
                            }
                            AntwortMoeglichkeitenHiraganaListe.Remove(AntwortMoeglichkeitenHiraganaListe[zufall]);
                        }
                    }
                    else
                    {
                        for (int i = 0; i < AntwortMoeglichkeitenHiraganaListe.Count; i++)
                            antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenHiraganaListe[i].Antwort);
                    }

                    break;
                case AntwortArt.Katagana:
                    if (AntwortMoeglichkeitenKataganaListe.Count > 7)
                    {
                        for (int i = AntwortMoeglichkeitenKataganaListe.Count - 1; i > 0; i--)
                        {
                            if (AntwortMoeglichkeitenKataganaListe[i].Antwort == FragenListe[a].Antwort)
                                AntwortMoeglichkeitenKataganaListe.Remove(AntwortMoeglichkeitenKataganaListe[i]);
                        }

                        RichtigeAntwort = r.Next(1, 8);
                        for (int i = 0; i < 8; i++)
                        {
                            if (AntwortMoeglichkeitenKataganaListe.Count > 0)
                                zufall = r.Next(0, AntwortMoeglichkeitenKataganaListe.Count - 1);
                            if (i == RichtigeAntwort)
                                antwortmoeglichkeiten.Items.Add(FragenListe[a].Antwort);
                            else
                            {
                                if (AntwortMoeglichkeitenKataganaListe[zufall].Antwort != FragenListe[a].Antwort)
                                    antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenKataganaListe[zufall].Antwort);
                                else
                                    i--;
                            }
                            AntwortMoeglichkeitenKataganaListe.Remove(AntwortMoeglichkeitenKataganaListe[zufall]);
                        }
                    }
                    else
                    {
                        for (int i = 0; i < AntwortMoeglichkeitenKataganaListe.Count; i++)
                            antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenKataganaListe[i].Antwort);
                    }

                    break;
                case AntwortArt.AndereSprache:
                    if (AntwortMoeglichkeitenAndereListe.Count > 7)
                    {
                        for (int i = AntwortMoeglichkeitenAndereListe.Count - 1; i > 0; i--)
                        {
                            if (AntwortMoeglichkeitenAndereListe[i].Antwort == FragenListe[a].Antwort)
                                AntwortMoeglichkeitenAndereListe.Remove(AntwortMoeglichkeitenAndereListe[i]);
                        }

                        RichtigeAntwort = r.Next(1, 8);
                        for (int i = 0; i < 8; i++)
                        {
                            if (AntwortMoeglichkeitenAndereListe.Count > 0)
                                zufall = r.Next(0, AntwortMoeglichkeitenAndereListe.Count - 1);
                            if (i == RichtigeAntwort)
                                antwortmoeglichkeiten.Items.Add(FragenListe[a].Antwort);
                            else
                            {
                                if (AntwortMoeglichkeitenAndereListe[zufall].Antwort != FragenListe[a].Antwort)
                                    antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenAndereListe[zufall].Antwort);
                                else
                                    i--;
                            }
                            AntwortMoeglichkeitenAndereListe.Remove(AntwortMoeglichkeitenAndereListe[zufall]);
                        }
                    }
                    else
                    {
                        for (int i = 0; i < AntwortMoeglichkeitenAndereListe.Count; i++)
                            antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenAndereListe[i].Antwort);
                    }

                    break;
                case AntwortArt.DeutscherText:
                    if (AntwortMoeglichkeitenDeutschTextListe.Count > 7)
                    {
                        for (int i = AntwortMoeglichkeitenDeutschTextListe.Count - 1; i > 0; i--)
                        {
                            if (AntwortMoeglichkeitenDeutschTextListe[i].Antwort == FragenListe[a].Antwort)
                                AntwortMoeglichkeitenDeutschTextListe.Remove(AntwortMoeglichkeitenDeutschTextListe[i]);
                        }

                        RichtigeAntwort = r.Next(1, 8);
                        for (int i = 0; i < 8; i++)
                        {
                            if (AntwortMoeglichkeitenDeutschTextListe.Count > 0)
                                zufall = r.Next(0, AntwortMoeglichkeitenDeutschTextListe.Count - 1);
                            if (i == RichtigeAntwort)
                                antwortmoeglichkeiten.Items.Add(FragenListe[a].Antwort);
                            else
                            {
                                if (AntwortMoeglichkeitenDeutschTextListe[zufall].Antwort != FragenListe[a].Antwort)
                                    antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenDeutschTextListe[zufall].Antwort);
                                else
                                    i--;
                            }
                            AntwortMoeglichkeitenDeutschTextListe.Remove(AntwortMoeglichkeitenDeutschTextListe[zufall]);
                        }
                    }
                    else
                    {
                        for (int i = 0; i < AntwortMoeglichkeitenDeutschTextListe.Count; i++)
                            antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenDeutschTextListe[i].Antwort);

                    }

                    break;
                case AntwortArt.AndereSpracheText:
                    if (AntwortMoeglichkeitenAndereTextListe.Count > 7)
                    {
                        for (int i = AntwortMoeglichkeitenAndereTextListe.Count - 1; i > 0; i--)
                        {
                            if (AntwortMoeglichkeitenAndereTextListe[i].Antwort == FragenListe[a].Antwort)
                                AntwortMoeglichkeitenAndereTextListe.Remove(AntwortMoeglichkeitenAndereTextListe[i]);
                        }

                        RichtigeAntwort = r.Next(1, 8);
                        for (int i = 0; i < 8; i++)
                        {
                            if (AntwortMoeglichkeitenAndereListe.Count > 0)
                                zufall = r.Next(0, AntwortMoeglichkeitenAndereTextListe.Count - 1);
                            if (i == RichtigeAntwort)
                                antwortmoeglichkeiten.Items.Add(FragenListe[a].Antwort);
                            else
                            {
                                if (AntwortMoeglichkeitenAndereTextListe[zufall].Antwort != FragenListe[a].Antwort)
                                    antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenAndereTextListe[zufall].Antwort);
                                else
                                    i--;
                            }
                            AntwortMoeglichkeitenAndereTextListe.Remove(AntwortMoeglichkeitenAndereTextListe[zufall]);
                        }
                    }
                    else
                    {
                        for (int i = 0; i < AntwortMoeglichkeitenAndereTextListe.Count; i++)
                            antwortmoeglichkeiten.Items.Add(AntwortMoeglichkeitenAndereTextListe[i].Antwort);
                    }

                    break;
            }
            #endregion
        }

        private void NaechsteFrage()
        {
            a = r.Next(0, FragenListe.Count - 1);

            selberAntworten = true;

            textBox2.Text = FragenListe[a].Anweisung;
            frage.Text = FragenListe[a].Frage;
            antwort.Text = "";
            DropDownBefuellen();
            textBoxZusatz.Text = FragenListe[a].Zusatz;

            if (FragenListe[a].Bild != "") { pictureBox1.Source = GespeicherteBilder(FragenListe[a].Bild.Split('.')[0] + ".jpg"); }
            else { pictureBox1.Source = fueller; }
            if (FragenListe[a].Sound != "") Mp3Abspielen(FragenListe[a].Sound);

            status = Status.Abfrage;
            antwort.Visibility = System.Windows.Visibility.Visible;
            button2.Visibility = System.Windows.Visibility.Visible;
            antwortmoeglichkeiten.Visibility = System.Windows.Visibility.Collapsed;
            Update();
        }

        private void Pruefung()
        {
            
            vokabelItem.Frage = FragenListe[a].Frage;
            vokabelItem.Antwort = FragenListe[a].Antwort;
            vokabelItem.Zusatz = FragenListe[a].Zusatz;
            vokabelItem.Bild = FragenListe[a].Bild;
            vokabelItem.JapZeichenInAntwort = FragenListe[a].JapZeichenInAntwort;
            vokabelItem.JapZeichenInFrage = FragenListe[a].JapZeichenInFrage;
            vokabelItem.ArtDerAntwort = FragenListe[a].ArtDerAntwort;
            vokabelItem.Sound = FragenListe[a].Sound;
            vokabelItem.Anweisung = FragenListe[a].Anweisung;
            if (selberAntworten)
            {
                if (FragenListe[a].Antwort == antwort.Text)
                {
                    vokabelItem.AbfrageTag = dateTimePicker1.Value.Value.DayOfYear + (FragenListe[a].Phase * 5);
                    vokabelItem.Phase = FragenListe[a].Phase + 1;
                    richtigeAntwort = true;

                    RichtigListe.Add(vokabelItem);
                }
                else
                {
                    vokabelItem.AbfrageTag = dateTimePicker1.Value.Value.DayOfYear;
                    vokabelItem.Phase = 1;
                    richtigeAntwort = false;

                    FalschListe.Add(vokabelItem);
                }
            }
            else
            {
                if (FragenListe[a].Antwort == antwortmoeglichkeiten.SelectedItem.ToString())
                {
                    vokabelItem.AbfrageTag = dateTimePicker1.Value.Value.DayOfYear;
                    vokabelItem.Phase = 1;
                    richtigeAntwort = true;

                    RichtigListe.Add(vokabelItem);
                }
                else
                {
                    vokabelItem.AbfrageTag = dateTimePicker1.Value.Value.DayOfYear;
                    vokabelItem.Phase = 1;
                    richtigeAntwort = false;

                    FalschListe.Add(vokabelItem);
                }
            }

            VokabelListe.Add(vokabelItem);

            selberAntworten = true;
            antwort.Text = "";
        }

        private void weiter_Click(object sender, RoutedEventArgs e)
        {
            switch (status)
            {
                case Status.Abfrage:
                    Pruefung();
                    status = Status.RichtigFalsch;
                    antwortmoeglichkeiten.Visibility = System.Windows.Visibility.Collapsed;
                    Update();
                    break;
                case Status.RichtigFalsch:
                    FragenListe.Remove(FragenListe[a]);
                    if (FragenListe.Count > 0)
                        status = Status.FrageStellen;
                    else
                        status = Status.Speichern;
                    
                    Update();
                    break;
                case Status.Warten: break;
            }
        }
        
        private void AufHandySpeichern_Click(object sender, RoutedEventArgs e)
        {
            Speichern();
        }

        private void InCloudSpeichern_Click(object sender, RoutedEventArgs e)
        {
            status = Status.CloudSpeichern;
            if (client != null)
                CloudSpeichern();
            else
                Update();
        }

        private void AusCloudLaden_Click(object sender, RoutedEventArgs e)
        {
            if (client != null)
            {
                this.PageTitle.Visibility = System.Windows.Visibility.Collapsed;
                this.ContentPanel.Visibility = System.Windows.Visibility.Collapsed;
                this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
                this.ladenGrit.Visibility = System.Windows.Visibility.Visible;
                this.vokabelnLadeGrit.Visibility = System.Windows.Visibility.Collapsed;
                this.musikBilderAusCloudGrit.Visibility = System.Windows.Visibility.Collapsed;
                fileClient.GetCompleted += new EventHandler<LiveOperationCompletedEventArgs>(OrdnerGefunden);
                client.GetAsync(datenOrdnerId+"/files");
            }
            else
            {
                status = Status.CloudLaden;
                Update();
            }
        }

        private void VomHandyLaden_Click(object sender, RoutedEventArgs e)
        {
            Laden();
            if (FragenListe.Count == 0)
                FragenListeFuellen();
            status = Status.StartBild;
            Update();
        }

        private void AntwortMoeglichkeiten_Click(object sender, RoutedEventArgs e)
        {
            selberAntworten = false;
            antwort.Visibility = System.Windows.Visibility.Collapsed;
            button2.Visibility = System.Windows.Visibility.Collapsed;
            antwortmoeglichkeiten.Visibility = System.Windows.Visibility.Visible;
        }

        private void SoundAbspielen_Click(object sender, RoutedEventArgs e)
        {
            if (mediaElement1.CurrentState != MediaElementState.Playing)
                mediaElement1.Play();
        }

        private void MusikBilderAufsHandy_Click(object sender, RoutedEventArgs e)
        {
            status = Status.MusikBilderLaden;
            Update();
        }
        
        private void hinzufuegen_Click(object sender, RoutedEventArgs e)
        {
            if ((textBox3.Text != "") && (textBox4.Text != "") && (artDerAntwort.SelectedItem.ToString() != ""))
            {
                textBlock20.Visibility = System.Windows.Visibility.Collapsed;
                vokabelItem.Anweisung = textBox1.Text;
                textBox1.Text = "";
                vokabelItem.Frage = textBox3.Text;
                textBox3.Text = "";
                vokabelItem.Antwort = textBox4.Text;
                textBox4.Text = "";


                vokabelItem.Bild = textBox5.Text;
                textBox5.Text = "";
                vokabelItem.Sound = textBox5.Text;
                textBox6.Text = "";

                vokabelItem.Zusatz = textBox7.Text;
                textBox7.Text = "";
                if (checkBox1.IsChecked == true)
                    vokabelItem.JapZeichenInFrage = true;
                else
                    vokabelItem.JapZeichenInFrage = false;
                if (checkBox2.IsChecked == true)
                    vokabelItem.JapZeichenInAntwort = true;
                else
                    vokabelItem.JapZeichenInAntwort = false;

                vokabelItem.Phase = 1;

                if ((artDerAntwort.SelectedItem.ToString() == AntwortArt.Hiragana.ToString()) || (artDerAntwort.SelectedItem.ToString() == AntwortArt.Katagana.ToString()) || (artDerAntwort.SelectedItem.ToString() == AntwortArt.Romaji.ToString()))
                    vokabelItem.ArtDerAntwort = (AntwortArt)Enum.Parse(typeof(AntwortArt), artDerAntwort.SelectedItem.ToString(), false);
                else if (artDerAntwort.SelectedItem.ToString() == "Wort in Eigenersprache")
                    vokabelItem.ArtDerAntwort = AntwortArt.Deutsch;
                else if (artDerAntwort.SelectedItem.ToString() == "Wort in Fremdsprache")
                    vokabelItem.ArtDerAntwort = AntwortArt.AndereSprache;
                else if (artDerAntwort.SelectedItem.ToString() == "Text in Eigenersprache")
                    vokabelItem.ArtDerAntwort = AntwortArt.DeutscherText;
                else if (artDerAntwort.SelectedItem.ToString() == "Text in Fremdsprache")
                    vokabelItem.ArtDerAntwort = AntwortArt.AndereSpracheText;

                if (checkBox3.IsChecked == true)
                {
                    vokabelItem.AbfrageTag = dateTimePicker1.Value.Value.DayOfYear - 1;
                    Vokabeln.Add(vokabelItem);
                    FragenListe.Add(vokabelItem);
                }
                else
                {
                    vokabelItem.AbfrageTag = dateTimePicker1.Value.Value.DayOfYear;
                    VokabelListe.Add(vokabelItem);
                }
            }
            else
                textBlock20.Visibility = System.Windows.Visibility.Visible;
            if(((Button)sender).Content.ToString() == "Fertig")
            {
                status = Status.StartBild;
                Update();
            }

        }

        private void button10_Click(object sender, RoutedEventArgs e)
        {
            status = Status.Hinzufuegen;
            Update();
        }

        private void eingabeFertig_Click(object sender, RoutedEventArgs e) { }

        private void AbfragenDurchblättern(object sender, RoutedEventArgs e)
        {
            frageNummer = 0;
            if (FragenListe.Count > 0)
                status = Status.FrageStellen;
            else
                status = Status.Durchblaettern;
            Update();
        }
        int frageNummer;
        private void durchblaetternweiter_Click(object sender, RoutedEventArgs e)
        {
            frageNummer++;
            if (frageNummer > VokabelListe.Count-1)
                status = Status.StartBild;
            Update();
        }

        private void button7_Click(object sender, RoutedEventArgs e)
        {
            nochZuLaden = zuLadenAnzahl;
            textBlock2.Text = "Noch zu Laden... " + nochZuLaden.ToString();
            AnzeigeMusikBilder();

            textBlock6.Text = "Wenn sie Bilder und Sounds nutzen möchten fügen \nSie folgende Dateien in den SkyDrive Ordner ein.\nBilder:";
            textBlock7.Text = "Sounds:";
            if (zuLadendeBilder.Count > 0)
            {
                for (int i = 0; i < zuLadendeBilder.Count; i++)
                    bilderNamenBox1.Items.Add(zuLadendeBilder[i]);
            }
            if (zuLadendeSounds.Count > 0)
            {
                for (int i = 0; i < zuLadendeSounds.Count; i++)
                    musikNamenBox2.Items.Add(zuLadendeSounds[i]);
            }
            
        }
        
        private void antwort_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
        {
            if (e.Key == System.Windows.Input.Key.Enter)
                this.Focus();
        }

        private void button18_Click(object sender, RoutedEventArgs e)
        {
            this.PageTitle.Visibility = System.Windows.Visibility.Collapsed;
            this.ContentPanel.Visibility = System.Windows.Visibility.Collapsed;
            this.abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.ladenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnLadeGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.musikBilderAusCloudGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.speicherProzessGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.startBildGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.pivot1.Visibility = System.Windows.Visibility.Collapsed;
            this.hinzufuegenGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.vokabelnSpeichernGrit.Visibility = System.Windows.Visibility.Collapsed;
            this.durchblaetternGrit.Visibility = System.Windows.Visibility.Collapsed;
        }

        private void button4_Click(object sender, RoutedEventArgs e)
        {
            if (checkBox4.IsChecked == true)
                VokabelListe.Remove(VokabelListe[frageNummer]);
            else
            {
                abfrageGrit.Visibility = System.Windows.Visibility.Collapsed;
                durchblaetternGrit.Visibility = System.Windows.Visibility.Collapsed;
                grid1.Visibility = System.Windows.Visibility.Visible;
            }
            if (frageNummer > VokabelListe.Count - 1)
                status = Status.StartBild;
            Update();
        }

        private void button19_Click(object sender, RoutedEventArgs e)
        {
            durchblaetternGrit.Visibility = System.Windows.Visibility.Visible;
            grid1.Visibility = System.Windows.Visibility.Collapsed;
            VokabelListe.Remove(VokabelListe[frageNummer]);
            if (frageNummer > VokabelListe.Count - 1)
                status = Status.StartBild;
            Update();
        }

        private void button20_Click(object sender, RoutedEventArgs e)
        {
            durchblaetternGrit.Visibility = System.Windows.Visibility.Visible;
            grid1.Visibility = System.Windows.Visibility.Collapsed;
        }

        private void AbfrageHilfe_Click(object sender, RoutedEventArgs e)
        {
            if (hilfGrid1.Visibility == System.Windows.Visibility.Visible)
            {
                scrollViewer1.Visibility = System.Windows.Visibility.Collapsed;
                hilfGrid1.Visibility = System.Windows.Visibility.Collapsed;
            }
            else
            {
                scrollViewer1.Visibility = System.Windows.Visibility.Visible;
                hilfGrid1.Visibility = System.Windows.Visibility.Visible;
            }

            if (abfrageGrit.Visibility== System.Windows.Visibility.Visible)
                HifetextAbfrage.Text =
                    "Im Grauen Kästchen wird die Antwort mithilfe\nder Tastatur eingegeben, Eingabe(auch Enter \noder Return genannt) schließt die Tastatur." +
                    "\n\nBei einem Klick auf 'Antwortmöglichkeiten'\nöffnet sich eine Dropdownliste mit bis zu 8 \nAntwortmöglichkeiten, mit Scrollen und antippen \nwird eine Antwort ausgewählt." +
                    "\n\n'Play' Spielt (falls vorhanden) den angegebenen \nTitel ab." +
                    "\n\nMit 'Hinzufügen' kommt man zur Eingabe der \nFragen." +
                    "\n\nMit 'Weiter' wird überprüft ob die Eingabe \nRichtig ist, und mit einem Bild angezeigt.\nDanach kommt mit 'Weiter' die nächste Frage.";
            else
                HifetextAbfrage.Text =
                    "'Frage', 'Antwort', und 'Kategorie' müssen \nmindestens angegeben werden." +
                    "\nDurch Eingabe(auch Enter oder Return genannt) \nspringt die Eingabe ins nächste Feld im \nuntersten schließt die Tastatur." +
                    "\nEs kann Eingegeben werden was man möchte, zb.\nAnweisung: Wie heißt der Gegenstand in Englisch." +
                    "\nFrage: Tisch    Antwort: Table" +
                    "\nIn Zusatz kann man Bilder und/oder Sounds (in \nForm von gesprochenen Wörtern oder Sätzen), \nangeben die durch SkyDrive auf das Handy geladen" +
                    "\nwerden können. Es wird Empfohlen Bilder im \nFormat jpg zu nehmen da diese sehr wenig platz \nbrauchen." +
                    "\nBildname: zb. Bild.jpg (die endung ist wichtig)" + "\nSoundname: Hier einfach nur den Namen angeben \n(es wird nur mp3 unterstützt)" +
                    "\nWenn man in Heute noch ein Häcken rein macht \nerscheint die frage auch noch, ansonsten erst am \nnächsten Tag." +
                    "\nSpezial ist für Anwender die Japanisch oder \nChinesisch lernen möchten." +
                    "\n'JapZ. In Frage' oder 'JapZ. In Antwort' lässt \nin der PC Version die Schriftzeichen in einer \nanderen Form die besser aussieht darstellen. " +
                    "\n'Hinzufügen' fügt die Eingaben der Frageliste \nhinzu." +
                    "\n'Fertig' beendet die Eingabe.";
        }
    }
}
